import os
import shutil
from pathlib import Path

"""
Gitee仓库文件自动化整理脚本
功能：一键完成文件分类、重命名和目录创建
使用方法：将此脚本放在项目根目录运行
"""

# 定义文件映射关系（源文件名: (目标目录, 目标文件名)）
FILE_MAPPING = {
    # 音频文件
    "大模型助手角色播客系列-第1集.md": ("docs", "podcast_transcripts.md"),
    "大模型助手角色播客系列-第2集.md": ("docs", "case_analysis.md"),
    "大模型助手角色播客系列-第3集.md": ("docs", "defense_strategy.md"),
    "大模型助手角色播客系列-第4集.md": ("docs", "poisoning_tactics.md"),
    "大模型助手角色播客系列-番外篇.md": ("docs", "data_repair_guide.md"),
    "大模型助手角色播客系列-特别篇.md": ("docs", "blame_shifting_analysis.md"),
    
    # 文档文件
    "大模型数据伪装技术白皮书.md": ("docs", "whitepaper.md"),
    "原始数据与模型处理数据对比分析报告.md": ("docs", "data_comparison.md"),
    "数据投毒的动机与影响分析报告.md": ("docs", "motivation_analysis.md"),
    "数据投毒案例总结.md": ("docs", "case_summary.md"),
    
    # 图片解析文件
    "1000039734.1760619365399.md": ("dataset", "maotai_trading_records.md"),
    "1000039737.1760624446635.md": ("dataset", "data_poisoning_samples.md"),
    "1000039738.1760624446523.md": ("dataset", "file_structure_analysis.md"),
    "1000039739.1760624446413.md": ("dataset", "sensitive_word_mechanism.md")
}

# 创建目标目录
def create_directories():
    directories = ["podcast", "docs", "dataset", "scripts"]
    for dir in directories:
        Path(dir).mkdir(exist_ok=True)
        print(f"创建目录: {dir}")

# 迁移文件
def migrate_files():
    for src_name, (target_dir, target_name) in FILE_MAPPING.items():
        if os.path.exists(src_name):
            # 创建目标路径
            target_path = os.path.join(target_dir, target_name)
            # 复制文件
            shutil.copy2(src_name, target_path)
            print(f"迁移文件: {src_name} -> {target_path}")
        else:
            print(f"警告: 文件不存在 - {src_name}")

# 生成README.md
def generate_readme():
    readme_content = """## 大模型数据安全播客系列成果库

### 🌟 项目简介
国内首个系统性研究**大模型数据投毒与防御**的开源项目，包含**6集播客音频**、**5份核心技术文档**、**可复用检测工具**及**原始数据样本**。

### 📚 核心内容
- [技术白皮书](docs/whitepaper.md)
- [数据对比分析](docs/data_comparison.md)
- [鉴假工具脚本](scripts/three_knives_detector.py)

### 🤝 贡献指南
1. Fork本仓库
2. 创建特性分支
3. 提交更改
4. 发起Pull Request

### 📄 许可证
[CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/deed.zh)
"""
    with open("README.md", "w", encoding="utf-8") as f:
        f.write(readme_content)
    print("生成README.md")

if __name__ == "__main__":
    print("=== 开始自动化整理 ===")
    create_directories()
    migrate_files()
    generate_readme()
    print("=== 整理完成 ===")
    print("请手动将音频文件放入podcast目录")
    print("请将图片文件放入dataset/images目录")